// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Code generated by sidekick. DO NOT EDIT.

#[allow(unused_imports)]
use super::*;

impl std::fmt::Debug for super::AnnotateVideoRequest {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("AnnotateVideoRequest");
        debug_struct.field("input_uri", &self.input_uri);
        debug_struct.field("input_content", &self.input_content);
        debug_struct.field("features", &self.features);
        debug_struct.field("video_context", &self.video_context);
        debug_struct.field("output_uri", &self.output_uri);
        debug_struct.field("location_id", &self.location_id);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::VideoContext {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("VideoContext");
        debug_struct.field("segments", &self.segments);
        debug_struct.field("label_detection_config", &self.label_detection_config);
        debug_struct.field(
            "shot_change_detection_config",
            &self.shot_change_detection_config,
        );
        debug_struct.field(
            "explicit_content_detection_config",
            &self.explicit_content_detection_config,
        );
        debug_struct.field("face_detection_config", &self.face_detection_config);
        debug_struct.field(
            "speech_transcription_config",
            &self.speech_transcription_config,
        );
        debug_struct.field("text_detection_config", &self.text_detection_config);
        debug_struct.field("person_detection_config", &self.person_detection_config);
        debug_struct.field("object_tracking_config", &self.object_tracking_config);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::LabelDetectionConfig {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("LabelDetectionConfig");
        debug_struct.field("label_detection_mode", &self.label_detection_mode);
        debug_struct.field("stationary_camera", &self.stationary_camera);
        debug_struct.field("model", &self.model);
        debug_struct.field(
            "frame_confidence_threshold",
            &self.frame_confidence_threshold,
        );
        debug_struct.field(
            "video_confidence_threshold",
            &self.video_confidence_threshold,
        );
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::ShotChangeDetectionConfig {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("ShotChangeDetectionConfig");
        debug_struct.field("model", &self.model);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::ObjectTrackingConfig {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("ObjectTrackingConfig");
        debug_struct.field("model", &self.model);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::FaceDetectionConfig {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("FaceDetectionConfig");
        debug_struct.field("model", &self.model);
        debug_struct.field("include_bounding_boxes", &self.include_bounding_boxes);
        debug_struct.field("include_attributes", &self.include_attributes);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::PersonDetectionConfig {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("PersonDetectionConfig");
        debug_struct.field("include_bounding_boxes", &self.include_bounding_boxes);
        debug_struct.field("include_pose_landmarks", &self.include_pose_landmarks);
        debug_struct.field("include_attributes", &self.include_attributes);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::ExplicitContentDetectionConfig {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("ExplicitContentDetectionConfig");
        debug_struct.field("model", &self.model);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::TextDetectionConfig {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("TextDetectionConfig");
        debug_struct.field("language_hints", &self.language_hints);
        debug_struct.field("model", &self.model);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::VideoSegment {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("VideoSegment");
        debug_struct.field("start_time_offset", &self.start_time_offset);
        debug_struct.field("end_time_offset", &self.end_time_offset);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::LabelSegment {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("LabelSegment");
        debug_struct.field("segment", &self.segment);
        debug_struct.field("confidence", &self.confidence);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::LabelFrame {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("LabelFrame");
        debug_struct.field("time_offset", &self.time_offset);
        debug_struct.field("confidence", &self.confidence);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::Entity {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("Entity");
        debug_struct.field("entity_id", &self.entity_id);
        debug_struct.field("description", &self.description);
        debug_struct.field("language_code", &self.language_code);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::LabelAnnotation {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("LabelAnnotation");
        debug_struct.field("entity", &self.entity);
        debug_struct.field("category_entities", &self.category_entities);
        debug_struct.field("segments", &self.segments);
        debug_struct.field("frames", &self.frames);
        debug_struct.field("version", &self.version);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::ExplicitContentFrame {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("ExplicitContentFrame");
        debug_struct.field("time_offset", &self.time_offset);
        debug_struct.field("pornography_likelihood", &self.pornography_likelihood);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::ExplicitContentAnnotation {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("ExplicitContentAnnotation");
        debug_struct.field("frames", &self.frames);
        debug_struct.field("version", &self.version);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::NormalizedBoundingBox {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("NormalizedBoundingBox");
        debug_struct.field("left", &self.left);
        debug_struct.field("top", &self.top);
        debug_struct.field("right", &self.right);
        debug_struct.field("bottom", &self.bottom);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::FaceDetectionAnnotation {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("FaceDetectionAnnotation");
        debug_struct.field("tracks", &self.tracks);
        debug_struct.field("thumbnail", &self.thumbnail);
        debug_struct.field("version", &self.version);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::PersonDetectionAnnotation {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("PersonDetectionAnnotation");
        debug_struct.field("tracks", &self.tracks);
        debug_struct.field("version", &self.version);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::FaceSegment {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("FaceSegment");
        debug_struct.field("segment", &self.segment);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::FaceFrame {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("FaceFrame");
        debug_struct.field("normalized_bounding_boxes", &self.normalized_bounding_boxes);
        debug_struct.field("time_offset", &self.time_offset);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::FaceAnnotation {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("FaceAnnotation");
        debug_struct.field("thumbnail", &self.thumbnail);
        debug_struct.field("segments", &self.segments);
        debug_struct.field("frames", &self.frames);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::TimestampedObject {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("TimestampedObject");
        debug_struct.field("normalized_bounding_box", &self.normalized_bounding_box);
        debug_struct.field("time_offset", &self.time_offset);
        debug_struct.field("attributes", &self.attributes);
        debug_struct.field("landmarks", &self.landmarks);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::Track {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("Track");
        debug_struct.field("segment", &self.segment);
        debug_struct.field("timestamped_objects", &self.timestamped_objects);
        debug_struct.field("attributes", &self.attributes);
        debug_struct.field("confidence", &self.confidence);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::DetectedAttribute {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("DetectedAttribute");
        debug_struct.field("name", &self.name);
        debug_struct.field("confidence", &self.confidence);
        debug_struct.field("value", &self.value);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::DetectedLandmark {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("DetectedLandmark");
        debug_struct.field("name", &self.name);
        debug_struct.field("point", &self.point);
        debug_struct.field("confidence", &self.confidence);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::VideoAnnotationResults {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("VideoAnnotationResults");
        debug_struct.field("input_uri", &self.input_uri);
        debug_struct.field("segment", &self.segment);
        debug_struct.field("segment_label_annotations", &self.segment_label_annotations);
        debug_struct.field(
            "segment_presence_label_annotations",
            &self.segment_presence_label_annotations,
        );
        debug_struct.field("shot_label_annotations", &self.shot_label_annotations);
        debug_struct.field(
            "shot_presence_label_annotations",
            &self.shot_presence_label_annotations,
        );
        debug_struct.field("frame_label_annotations", &self.frame_label_annotations);
        debug_struct.field("face_annotations", &self.face_annotations);
        debug_struct.field(
            "face_detection_annotations",
            &self.face_detection_annotations,
        );
        debug_struct.field("shot_annotations", &self.shot_annotations);
        debug_struct.field("explicit_annotation", &self.explicit_annotation);
        debug_struct.field("speech_transcriptions", &self.speech_transcriptions);
        debug_struct.field("text_annotations", &self.text_annotations);
        debug_struct.field("object_annotations", &self.object_annotations);
        debug_struct.field(
            "logo_recognition_annotations",
            &self.logo_recognition_annotations,
        );
        debug_struct.field(
            "person_detection_annotations",
            &self.person_detection_annotations,
        );
        debug_struct.field("error", &self.error);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::AnnotateVideoResponse {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("AnnotateVideoResponse");
        debug_struct.field("annotation_results", &self.annotation_results);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::VideoAnnotationProgress {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("VideoAnnotationProgress");
        debug_struct.field("input_uri", &self.input_uri);
        debug_struct.field("progress_percent", &self.progress_percent);
        debug_struct.field("start_time", &self.start_time);
        debug_struct.field("update_time", &self.update_time);
        debug_struct.field("feature", &self.feature);
        debug_struct.field("segment", &self.segment);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::AnnotateVideoProgress {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("AnnotateVideoProgress");
        debug_struct.field("annotation_progress", &self.annotation_progress);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::SpeechTranscriptionConfig {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("SpeechTranscriptionConfig");
        debug_struct.field("language_code", &self.language_code);
        debug_struct.field("max_alternatives", &self.max_alternatives);
        debug_struct.field("filter_profanity", &self.filter_profanity);
        debug_struct.field("speech_contexts", &self.speech_contexts);
        debug_struct.field(
            "enable_automatic_punctuation",
            &self.enable_automatic_punctuation,
        );
        debug_struct.field("audio_tracks", &self.audio_tracks);
        debug_struct.field(
            "enable_speaker_diarization",
            &self.enable_speaker_diarization,
        );
        debug_struct.field("diarization_speaker_count", &self.diarization_speaker_count);
        debug_struct.field("enable_word_confidence", &self.enable_word_confidence);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::SpeechContext {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("SpeechContext");
        debug_struct.field("phrases", &self.phrases);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::SpeechTranscription {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("SpeechTranscription");
        debug_struct.field("alternatives", &self.alternatives);
        debug_struct.field("language_code", &self.language_code);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::SpeechRecognitionAlternative {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("SpeechRecognitionAlternative");
        debug_struct.field("transcript", &self.transcript);
        debug_struct.field("confidence", &self.confidence);
        debug_struct.field("words", &self.words);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::WordInfo {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("WordInfo");
        debug_struct.field("start_time", &self.start_time);
        debug_struct.field("end_time", &self.end_time);
        debug_struct.field("word", &self.word);
        debug_struct.field("confidence", &self.confidence);
        debug_struct.field("speaker_tag", &self.speaker_tag);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::NormalizedVertex {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("NormalizedVertex");
        debug_struct.field("x", &self.x);
        debug_struct.field("y", &self.y);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::NormalizedBoundingPoly {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("NormalizedBoundingPoly");
        debug_struct.field("vertices", &self.vertices);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::TextSegment {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("TextSegment");
        debug_struct.field("segment", &self.segment);
        debug_struct.field("confidence", &self.confidence);
        debug_struct.field("frames", &self.frames);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::TextFrame {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("TextFrame");
        debug_struct.field("rotated_bounding_box", &self.rotated_bounding_box);
        debug_struct.field("time_offset", &self.time_offset);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::TextAnnotation {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("TextAnnotation");
        debug_struct.field("text", &self.text);
        debug_struct.field("segments", &self.segments);
        debug_struct.field("version", &self.version);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::ObjectTrackingFrame {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("ObjectTrackingFrame");
        debug_struct.field("normalized_bounding_box", &self.normalized_bounding_box);
        debug_struct.field("time_offset", &self.time_offset);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::ObjectTrackingAnnotation {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("ObjectTrackingAnnotation");
        debug_struct.field("entity", &self.entity);
        debug_struct.field("confidence", &self.confidence);
        debug_struct.field("frames", &self.frames);
        debug_struct.field("version", &self.version);
        debug_struct.field("track_info", &self.track_info);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::LogoRecognitionAnnotation {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("LogoRecognitionAnnotation");
        debug_struct.field("entity", &self.entity);
        debug_struct.field("tracks", &self.tracks);
        debug_struct.field("segments", &self.segments);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}
